Memory devices using semiconductor elements can be broadly classified into two categories: a volatile memory device that loses stored data when power supply stops, and a non-volatile memory device that holds stored data even when power is not supplied.
An example of a volatile memory device is a dynamic random access memory (DRAM). A DRAM stores data in such a manner that a transistor included in a memory element is selected and charge is accumulated in a capacitor.
When data is read from a DRAM, charge in a capacitor is lost (or reduced) on the above-described principle; thus, another writing operation is needed whenever data is read out. A data holding period is short because charge flows from/into a transistor forming a memory element by leakage current between a source and a drain in an off state (off current) or the like even when the transistor is not selected. For that reason, another writing operation (refresh operation) is needed at predetermined intervals, and it is difficult to sufficiently reduce power consumption. Furthermore, since stored data is lost when power supply stops, an additional memory device using a magnetic material or an optical material is needed in order to hold the data for a long time.
Another example of a volatile memory device is a static random access memory (SRAM). An SRAM holds stored data by using a circuit such as a flip-flop and thus does not need refresh operation, which is an advantage over a DRAM. However, cost per memory capacity is increased because a circuit such as a flip-flop is used. Moreover, as in a DRAM, stored data in an SRAM is lost when power supply stops.
An example of a non-volatile memory device is a flash memory. A flash memory includes a floating gate between a gate electrode and a channel formation region of a transistor and stores data by holding charge in the floating gate. Therefore, a flash memory has advantages in that the data holding period is extremely long (almost permanent) and refresh operation which is needed in a volatile memory device is not needed (e.g., see Patent Document 1).
However, a gate insulating layer included in a memory element deteriorates by tunneling current generated in writing, so that the memory element stops its function after a predetermined number of times of writing. In order to reduce effects of this problem, a method in which the number of times of writing for memory elements is equalized is employed, for example. However, a complicated peripheral circuit is needed to realize this method. Moreover, employing such a method does not solve the fundamental problem of lifetime.
In addition, high voltage is needed for holding of charge in the floating gate or removal of the charge, and a circuit for generating high voltage is also needed. Further, it takes a relatively long time to hold or remove charge, and it is not easy to perform writing and erasing at higher speed.